#include <iostream>

using namespace std;


//int main()
//{
//    int a = 0, b = 0, c = 0, d = 0;
//    cin >> a >> b >> c >> d;
//
//    int A2 = a + c, B2 = b + d, C2 = d - b;
//    if (((A2 < 0) || (B2 < 0) || (C2 < 0))
//        || (((A2 % 2) != 0) || ((B2 % 2) != 0)) || ((C2 % 2) != 0))
//        cout << "NO" << endl;
//    else
//        cout << A2 / 2 << " " << B2 / 2 << " " << C2 / 2;
//
//    return 0;
//}error

//#include <iostream>
//using namespace std;
//
//int main()
//{
//    int a = 0, b = 0, c = 0, d = 0;
//    cin >> a >> b >> c >> d;
//
//    int A2 = a + c, B2 = b + d, C2 = d - b;
//    if (((A2 >= 0) && (B2 >= 0) && (C2 >= 0))
//        && (((A2 % 2) == 0) && ((B2 % 2) == 0)) && ((C2 % 2) == 0))
//        cout << A2 / 2 << " " << B2 / 2 << " " << C2 / 2 << endl;
//    else
//        cout << "No" << endl;
//
//    return 0;
//}true

//////////////////

#include <iostream>
#include <string>
using namespace std;

void reverse(string& str)
{
    int left = 0, right = str.size() - 1;
    while (left < right)
    {
        std::swap(str[left++], str[right--]);
    }
}

int main()
{
    int M = 0, N = 0;
    cin >> M >> N;

    string ans;
    int flag = 0;
    if (M < 0)
    {
        flag = 1;
        M *= -1;
    }

    if (M == 0)
        ans.push_back('0');
    while (M)
    {
        int tmp = M % N;
        if (tmp >= 10)
        {
            ans.push_back('A' + tmp - 10);
        }
        else
        {
            ans.push_back(tmp + '0');
        }
        M /= N;
    }
    if (flag)
        ans.push_back('-');
    reverse(ans);

    cout << ans << endl;
    return 0;
}